﻿/*==============================================================
 * IMsgService.cs
 * Copyright (C) 2014 贵州惠众互联 Inc. All rights reserved.
 *==============================================================
 * Author:   罗应红
 * Date:     2014/02/14 09:55:29.
 * Version:  1.0
 * QQ:		 88962800
*==============================================================*/

using System.Collections.Generic;
using QDT.Common.Plugins;
using QDT.Core.Domain;
using QDT.P2B.Domain.Messages;
using QDT.Services.DTO;

namespace QDT.Services.SmMailModule {
    public interface IMsgService {
        /// <summary>
        /// 取得所有消息模版
        /// </summary>
        /// <returns></returns>
        IList<MsgTemplate> GetAllMsgTemplate();
        /// <summary>
        /// 根据标识名取得相应消息模版
        /// </summary>
        /// <param name="identityName"></param>
        /// <returns></returns>
        MsgTemplate QueryMsgTemplateByIdentityName(string identityName);
        /// <summary>
        /// 根据Id取得相应消息模板
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        MsgTemplate QueryMsgTemplateById(int id);
        /// <summary>
        /// 更新模板
        /// </summary>
        /// <param name="id">模板Id</param>
        /// <param name="content">模板内容</param>
        /// <param name="isHtml">是否支持Html</param>
        void UpdateMsgTemplate(int id, string content, bool isHtml);
        ///// <summary>
        ///// 新增推广短信
        ///// </summary>
        ///// <param name="dto"></param>
        //void AddPromoteSm(SmDTO dto);
        ///// <summary>
        /// 编辑推广短信
        /// </summary>
        /// <param name="dto"></param>
        void UpdatePromoteSm(SmDTO dto);

        /// <summary>
        /// 彻底删除推广短信
        /// </summary>
        /// <param name="ids"></param>
        void DeletePromoteSmForever(int[] ids);
        /// <summary>
        /// 彻底删除推广消息队列
        /// </summary>
        /// <param name="ids"></param>
        void DeletePromoteQueueForever(int[] ids);
        /// <summary>
        /// 激活短信接口，并将其它置为不可用
        /// </summary>
        /// <param name="id"></param>
        void ActiveSms(int id);
        ///// <summary>
        ///// 发送单条推广短信
        ///// </summary>
        ///// <param name="id"></param>
        ///// <returns></returns>
        //SmsSendResult SendSignlePromoteMsg(int id);

    }
}